var express = require("express");
var User = require("../models/user");
var md5 = require("blueimp-md5");

// 创建路由
var router = express.Router();

// 5.渲染登录界面   get请求     '/login'
router.get("/login", function (req, res) {
  res.render("login.html");
});

// 6.处理登录请求
router.post("/login", function (req, res) {
  // 1. 获取表单提交的数据
  //    req.body
  // 2. 操作数据库
  //    判断改用户是否存在
  //    如果已存在，不允许注册
  //    如果不存在，注册新建用户
  // 3. 发送响应
  var body = req.body;
  User.findOne(
    // 通过判断邮箱，密码，昵称是否相同
    {
      email: body.email,
      password: md5(md5(body.password)),
      nickname: body.nickname,
    },
    function (err, user) {
      // 先处理错误信息
      if (err) {
        return res.status(500).json({
          err_code: 500,
          message: "服务端错误",
        });
      }
      // 如果不存在该用户，则状态码为1，状态信息为：该用户不存在
      if (!user) {
        return res.status(200).json({
          err_code: 0,
          message: "该用户不存在",
        });
      }
      // 如果用户存在，则用 Session 进行存储该用户
      req.session.user = user;

      // 执行成功的状态码
      res.status(200).json({
        err_code: 1,
        message: "登录成功",
      });
    }
  );
});

// 暴露路由
module.exports = router;
